package com.lagou.dao;

import com.lagou.domain.Role;
import com.lagou.domain.User;
import com.lagou.domain.UserVO;
import com.lagou.domain.User_Role_relation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {

    /**
     * 查询所有用户
     *
     * @param userVO
     * @return
     */
    List<User> findAllUserByPage(UserVO userVO);

    /**
     * 修改用户状态
     *
     * @param id     用户id
     * @param status 用户状态
     */
    void updateUserStatus(@Param("id") Integer id, @Param("status") String status);

    /**
     * 用户登录
     *
     * @param user
     * @return
     */
    User login(User user);

    /**
     * 分配角色(回显)
     *
     * @param id 用户id
     * @return
     */
    List<Role> findUserRoleById(Integer id);

    /**
     * 根据userid清空中间表关联关系
     *
     * @param userId 用户id
     */
    void deleteUserContextRole(Integer userId);

    /**
     * 用户角色关联
     *
     * @param userRoleRelation
     */
    void userContextRole(User_Role_relation userRoleRelation);

}
